Les exemples du livre sur Internet
Les exemples de ce livre ont t placs sur le site Web de l'diteur (www.oemweb.com).
En ce qui concerne les logiciels eux-mmes (MySQL, PHP, Apache et phpMyAdmin), ils ne figurent pas sur le site. Comme ils sont en perptuelle volution, il est prfrable que vous tlchargiez vous-mme les dernires version, que vous pouvez d'ailleurs trouver en franais. Notez que de nombreuses revues mensuelles offrent gracieusement des CD-ROM sur lesquels vous pourrez trouver ces logiciels, ce qui vous vitera de longs tlchargements.
Si vous travaillez sous Windows, signalons l'existence du produit EasyPHP (linuxeasyinstaller si vous travaillez sous pour Linux) qui permet d'installer MySQL, PHP, Apache et phpMyAdmin et en une seule opration. Il peut remplacer l'installation NuSphere mentionne dans le livre. L'adresse du site est http://www.easyphp.org. Ce produit peut galement tre trouv dans les revues mentionnes prcdemment.
Les exemples se trouvent dans le dossier Sessions. Chaque session comportant des exemples dispose d'un dossier portant son numro. Vous trouverez donc, par exemple, les listings de la session 17 dans le dossier /Sessions/session17.
Notez la prsence d'une page Web nomme Liens.htm qui comporte les liens mentionns dans le livre.

O trouver MySQL et PostgreSQL et des informations
Vous trouverez ces logiciels et toutes les informations correspondantes sur les sites de leurs "parents",  savoir aux adresses Internet :
http://www.mysql.com
et
 http://www.postgreSQL.org
Outre le tlchargement des logiciels,  vous trouverez sur ces sites de nombreuses informations, et en particulier :
o Coin du dveloppeur
o FAQ (questions frquemment poses)
o Informations techniques
o Documentation
Vous trouverez galement de nombreuses adresses de sites et donc une masse fantastique d'informations et de documentations en tapant postgresql ou mysql dans un moteur de recherche, par exemple dans Google (cherchez dans les pages francophones).
Vous pouvez trouver postgreSQL et MySQL et des informations dans les revues spcialises qui offrent bien souvent - en particulier les revues consacres  Linux - des CD-ROM contenant ces logiciels.
Enfin ces deux logiciels (en version Linux) sont galement livrs avec les distributions Linux.
Note
MySQL et PostgreSQL tournent sous Windows et sous Linux. En ce qui concerne PostgreSQL, reportez-vous  la section relative aux plate-formes supportes, plus loin dans cette annexe.
Matriel requis
Assurez-vous que votre ordinateur satisfait aux exigences minimum listes dans cette section. Si votre ordinateur ne satisfait pas  la majorit de ces exigences, vous pouvez rencontrer un problme en utilisant MySQL ou PostgreSQL : 
Pour Windows 9x, Windows 2000, Windows NT4 (avec SP 4 ou plus rcent), Windows Me, ou Windows XP :
o PC avec un processeur compatible Pentium tournant  120 Mhz ou plus rapidement
o Au moins 64 Mo de mmoire RAM installs sur votre ordinateur (les performances seront meilleures avec au moins 128 Mo). 
o Un lecteur de  CD-ROM 
Note
Les ordinateurs quips de processeurs AMD Duron et Athlon conviennent galement.
Pour Linux:
o PC avec un processeur compatible Pentium tournant  90 Mhz ou plus rapidement
o Au moins 64 Mo de mmoire RAM installs sur votre ordinateur (les performances seront meilleures avec au moins 128 Mo). 
o Un lecteur de  CD-ROM 
Note
Les ordinateurs quips de processeurs AMD Duron et Athlon conviennent galement.
Instructions d'installation de PostgreSQL
Pour clarifier le processus d'installation de PostgreSQL, j'inclus des instructions supplmentaires, la version courte et la version longue.
Version courte
./configure
gmake
gmake install
adduser postgres
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data >logfile 2>&1 &
/usr/local/pgsql/bin/createdb test
/usr/local/pgsql/bin/psql test
Version longue
La version longue est dcoupe en sous-sections.
Elments ncessaires
En rgle gnrale, une plate-forme moderne compatible Unix devrait tre capable de faire tourner PostgreSQL. Les plate-formes sur lesquelles des tests explicites ont t mens au moment de la parution sont listes dans la section nomme Plate-formes supportes. Dans le sous-rpertoire doc de la distribution, vous trouverez plusieurs documents FAQ  spcifiques  plusieurs plate-formes que vous pouvez souhaiter consulter si vous rencontrez des problmes.
Vous aurez besoin des lments suivants pour installer et mettre en oeuvre PostgreSQL :
o GNU make est requis ; d'autres programmes make ne fonctionneront pas. GNU make est souvent install sous le nom  de gmake ; ce document y fera toujours rfrence sous ce nom. (Sur les systmes GNU/Linux, GNU make est l'outil par dfaut nomm make.) Pour tester la prsence de GNU make, tapez gmake --version. Vous devriez utiliser de prfrence la version 3.76.1 (ou une version plus rcente).
o Vous avez besoin d'un compilateur ISO/ANSI C. Les versions rcentes de GCC sont recommandables, mais PostgreSQL peut tre construit avec divers compilateurs provenant de diffrents vendeurs.
o gzip
o La bibliothque GNU Readline pour profiter d'une dition de ligne et d'un rappel d'historique confortables. Elle sera automatiquement utilise si elle est trouve. Vous pouvez souhaiter l'installer avant de poursuivre mais cela n'est pas obligatoire. (Sur NetBSD, la librairie libedit est compatible avec readline et elle est utilise si libreadline n'est pas trouve.)
o Flex et Bison ne sont pas requis si vous construisez  partir d'une version paquetage source car les fichiers de sortie sont prgnrs. Vous n'aurez besoin de ces programmes que si vous construisez  partir d'un arbre CVS ou si les fichiers de dfinition du scanner et de l'analyseur ont t modifis. Si vous en avez besoin, procurez-vous les versions Flex 2.5.4 et Bison 1.28 (ou des versions plus rcentes). D'autres programmes yacc peuvent parfois tre utiliss, mais cela requiert des efforts supplmentaires et nous ne le recommandons pas. D'autres programmes lex ne fonctionneront pas, dfinitivement.
o Pour construire sur Windows NT ou sur Windows 2000, vous aurez besoin des paquetages Cygwin et cygipc. Pour plus de dtails, consultez le fichier  doc/FAQ_MSWIN.
Si vous avez besoin d'un autre paquetage GNU, vous pouvez le trouver sur votre site miroir GNU local (vous en trouverez la liste sur le site www.gnu.org/order/ftp.html ) ou sur le site ftp://ftp.gnu.org/gnu.
Assurez-vous aussi d'avoir suffisamment d'espace disque. Vous aurez besoin d'environ 30 Mo pour l'arbre source durant la compilation et d'environ 5 Mo pour le rpertoire d'installation. Une base de donnes vide occupe environ 1 Mo. Plus tard, elle occupe cinq fois plus d'espace qu'un fichier texte plat occuperait avec les mmes donnes. Si vous excutez les tests de rgression, vous aurez besoin temporairement de 20 Mo de plus. Utilisez la commande df pour contrler l'espace disque.
Si vous mettez  jour
Le format interne de stockage des donnes change avec les nouvelles versions de PostgreSQL. En consquence, si vous mettez  jour une installation existante qui ne porte pas le numro de version "7.1.x", vous devrez sauvegarder et restaurer vos donnes comme indiqu ici. Ces instructions supposent que votre installation existante est dans le rpertoire /usr/local/pgsql, et que la zone des donnes se trouve dans le rpertoire /usr/local/pgsql/data. Remplacez le cas chant ces chemins par les vtres
* Assurez-vous que votre base de donnes n'est pas mise  jour au cours ou aprs la sauvegarde. Ceci n'affecte pas l'intgrit de la sauvegarde, mais les donnes modifies ne seraient bien entendu pas incluses. Si ncessaire, ditez les permissions dans le fichier /usr/local/pgsql/data/pg_hba.conf (ou quivalent) pour refuser l'accs  tout le monde sauf  vous.
* Tapez pg_dumpall > outputfile.
* Si vous avez besoin de prserver les OIDs (comme par exemple lorsque vous les utilisez comme cls trangres), utilisez alors l'option -o lorsque vous excutez pg_dumpall. pg_dumpall n'enregistre pas les objets larges. Si vous devez le faire, consultez le guide de l'administrateur. 
* Assurez-vous que vous utilisez la commande pg_dumpall  partir de la version en cours d'excution. pg_dumpall de la version 7.1 ne doit pas tre utilise sur des bases de donnes anciennes.
* Si vous installez la nouvelle version au mme endroit que l'ancienne, arrtez l'ancien serveur, tout au moins avant d'installer les nouveaux fichiers :
kill -INT `cat /usr/local/pgsql/data/postmaster.pid`
* Les versions antrieures  la version 7.0 ne disposent pas de ce fichier postmaster.pid. Si vous utilisez une telle version, vous devez trouver vous-mme le ID de processus du serveur, par exemple en tapant ps ax | grep postmaster, et excuter la commande kill.
* Sur les systmes sur lesquels PostgreSQL a t lanc au moment du dmarrage, il y a probablement un fichier de dmarrage (start-up) qui accomplira la mme chose. Sur un systme Red Hat Linux, on peut dcouvrir que /etc/rc.d/init.d/postgresql stop fonctionne.
* Si vous installez au mme endroit que la version ancienne, c'est une bonne ide que de dplacer ailleurs l'ancienne version, au cas o vous en auriez besoin ultrieurement. Utilisez une commande comme celle-ci :
mv /usr/local/pgsql /usr/local/pgsql.old
Une fois que vous avez install PostgreSQL 7.1, crez un nouveau rpertoire de base de donnes et lancez le nouveau serveur. Souvenez-vous que vous devez excuter ces commandes en tant connect au compte utilisateur de base de donnes spcial (vous l'tes dj si vous mettez  jour).
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
Finalement, en utilisant le nouveau psql, restaurez vos donnes avec : 
/usr/local/pgsql/bin/psql -d template1 -f outputfile
Vous pouvez aussi installer la nouvelle version en parallle avec l'ancienne pour limiter le temps d'arrt. Ces sujets sont longuement dcrits dans le guide de l'administrateur que nous vous conseillons de lire dans tous les cas.
Procdure d'installation
* Configuration.
* La premire tape de la procdure d'installation est de configurer l'arbre source pour votre systme et choisir les options que vous voulez. Vous le faites en excutant le script de configuration. Pour une installation par dfaut, tapez simplement ./configure. Ce script excutera un certain nombre de tests pour deviner les valeurs de diverses variables dpendant du systme, dtecter certaines bizarreries de votre systme d'exploitation, et finalement crer plusieurs fichiers dans l'arbre de construction pour enregistrer ce qui a t trouv.
La configuration par dfaut construit le serveur et les utilits, ainsi que toutes les applications client et les interfaces qui ne requirent qu'un compilateur C. Tous les fichiers seront installs par dfaut dans le rpertoire /usr/local/pgsql. Vous pouvez personnaliser le processus de construction et d'installation en spcifiant une ou plusieurs options de ligne de commande :
o --prefix=PREFIX : Installe tous les fichiers dans le rpertoire PREFIX au lieu de /usr/local/pgsql. Les fichiers seront en ralit installs dans divers sous-rpertoires ; aucun fichier ne sera install directement dans le rpertoire PREFIX. Si vous avez des besoins spciaux, vous pouvez personnaliser les sous-rpertoires individuels avec les options suivantes :
o --exec-prefix=EXEC-PREFIX : Vous pouvez installer les fichiers qui dpendent de l'architecture sous un diffrent prfixe, EXEC-PREFIX, au lieu de PREFIX. Cela peut tre utile pour partager les fichiers indpendants de l'architecture entre les htes. Si vous omettez cette option, EXEC-PREFIX est gal  PREFIX, et les fichiers dpendants et indpendants de l'architecture seront installs dans le mme arbre, ce qui est probablement ce que vous voulez.
o --bindir=DIRECTORY : Spcifie le rpertoire des programmes excutables. Par dfaut, ce rpertoire est EXEC-PREFIX/bin, qui signifie normalement /usr/local/pgsql/bin.
o --datadir=DIRECTORY : Dfinit le rpertoire des fichiers de donnes en lecture seule utilis par les programmes installs. Par dfaut, ce rpertoire est PREFIX/share. Notez que cela n'a rien  voir avec l'emplacement futur des fichiers de votre base de donnes .
o --sysconfdir=DIRECTORY : Le rpertoire de divers fichiers de configuration, par dfaut PREFIX/etc.
o --libdir=DIRECTORY : L'emplacement d'installation des librairies et des modules chargs dynamiquement, par dfaut EXEC-PREFIX/lib.
o --includedir=DIRECTORY : Le rpertoire d'installation des fichiers d'en-tte C et C++, par dfaut PREFIX/include.
o --docdir=DIRECTORY : Les fichiers de documentation, sauf les pages "man", seront installs dans ce rpertoire, par dfaut PREFIX/doc.
o --mandir=DIRECTORY : Les pages man de PostgreSQL seront installes dans ce rpertoire, par dfaut PREFIX/man dans leurs sous-rpertoires manx respectifs.
 note
Pour rduire la pollution des emplacements d'installation partags (comme /usr/local/include), la chane "/postgresql" est ajoute automatiquement  datadir, sysconfdir, includedir et  docdir, sauf si le nom de rpertoire tendu contient dj la chane "postgres" ou "pgsql". Par exemple, si vous choisissez /usr/local comme prfixe, les fichiers d'en-tte C seront installs dans /usr/local/include/postgresql, mais si le prfixe est /opt/postgres, ils seront alors installs dans /opt/postgres/include.
o --with-includes=DIRECTORIES : DIRECTORIES est une liste de rpertoires spars par des signes deux-points (:) qui seront ajouts  la liste dans laquelle le compilateur recherche les fichiers d'en-tte. Si vous avez des paquetages optionnels (comme GNU Readline) installs dans un endroit non-standard, vous devez utiliser cette option et probablement l'option correspondante --with-libraries.
Exemple: --with-includes=/opt/gnu/include:/usr/sup/include.
o --with-libraries=DIRECTORIES : DIRECTORIES est une liste de rpertoires spars par des signes deux-points (:) o les librairies seront recherches. Vous devrez probablement utiliser cette option (et l'option correspondante --with-includes) si vous avez des paquetages installs dans des emplacements non-standard.
Exemple: --with-libraries=/opt/gnu/lib:/usr/sup/lib.
o --enable-locale : Active le support local. Cette option rduit quelque peu les performances, mais vous en aurez probablement besoin si vous ne travaillez pas dans une environnement en langue anglaise.
o --enable-recode : Active le support de recodage du jeu de caractres. Pour cette fonctionnalit, consultez le guide de l'administrateur.
o --enable-multibyte : Permet l'utilisation d'encodages de caractres multi-octets. Cette option concerne principalement les langages comme le japonais, le coren et le chinois. Lisez les dtails dans le guide de l'administrateur.
o --with-pgport=NUMBER : Dfinit NUMBER comme numro de port du serveur et des clients par dfaut. La valeur par dfaut est 5432. Le port peut toujours tre chang plus tard, mais si vous le spcifiez ici, le serveur et les clients auront la mme valeur par dfaut qui sera compile, ce qui peut tre trs pratique.
o --with-CXX : Construit la librairie de l'interface C++ .
o --with-perl : Construit le module d'interface Perl. L'interface Perl sera install  l'emplacement habituel des modules Perl (typiquement dans /usr/lib/perl). Vous devez donc avoir un accs root pour accomplir cette tape (voir l'trape 4). Pour utiliser cette option, Perl 5 doit tre install.
o --with-python : Construit le module d'interface Python. Vous devez donc avoir un accs root pour pouvoir installer le module Python  son emplacement par dfaut (/usr/libpythonx.y). Pour utiliser cette option, Python doit tre install et votre systme doit supporter les librairies partages. Si au lieu de cela vous voulez construire un nouvel interprte binaire complet, vous devrez le faire manuellement.
o --with-tcl : Construit des composants qui requirent Tcl/Tk, qui sont libpgtcl, pgtclsh, pgtksh, pgaccess et PL/Tcl. Voir ci-dessous  propos de --without-tk.
o --without-tk : Si vous spcifiez --with-tcl et cette option, alors les programmes qui requirent Tk (c'est--dire pgtksh et pgaccess) seront exclus.
o --with-tclconfig=DIRECTORY, --with-tkconfig=DIRECTORY : Tcl/Tk installe les fichiers tclConfig.sh et tkConfig.sh qui contiennent certaines informations de configuration ncessaires pour construire l'interfaage des modules  Tcl ou Tk. Ces fichiers sont normalement trouvs automatiquement  leur emplacement habituel bien connu, mais si vous voulez utiliser une version diffrente de Tcl ou de Tk, vous pouvez spcifier le rpertoire o les trouver.
o --enable-odbc : Construit le paquetage du driver ODBC.
o --with-odbcinst=DIRECTORY : Spcifie le rpertoire o le driver ODBC peut trouver son fichier de configuration odbcinst.ini, par dfaut /usr/local/pgsql/etc ou celui que vous spcifiez comme --sysconfdir. Un fichier par dfaut sera install l. Si vous avez l'intention de partager le fichier odbcinst.ini entre plusieurs drivers ODBC, vous pouvez souhaiter utiliser cette option.
o --with-krb4=DIRECTORY, --with-krb5=DIRECTORY : Construit avec le support de l'authentification Kerberos. Vous pouvez utiliser l'une des versions 4 ou 5 de Kerberos, mais pas les deux. L'argument DIRECTORY spcifie le rpertoire root de l'installation Kerberos, suppos tre /usr/athena par dfaut. Si les fichiers d'en-tte et les librairies ne se trouvent pas dans un rpertoire parent commun, vous devez utiliser, outre cette option, les options --with-includes et --with-libraries. Si d'un autre ct les fichiers requis se trouvent dans un emplacement qui est recherch par dfaut (/usr/lib), alors vous pouvez omettre l'argument. Configure, avant de continuer, recherchera les fichiers d'en-tte et les librairies requis pour s'assurer que votre installation de Kerberos est suffisante.
o --with-krb-srvnam=NAME : Le nom du service Kerberos principal, "postgres" par dfaut. Il n'y a probablement pas de raison de changer cette option.
o --with-openssl=DIRECTORY : Construit avec le support des connexions SSL (cryptes). Le paquetage OpenSSL doit tre install. L'argument DIRECTORY spcifie le rpertoire root de l'installation de OpenSSL, par dfaut /usr/local/ssl. Configure recherchera ensuite, avant de continuer, les fichiers d'en-tte et les librairies pour s'assurer que votre installation OpenSSL est suffisante.
o --with-java : Construit le driver JDBC et les paquetages Java associs. Cette option requiert l'installation de Ant (ainsi que d'un JDK, bien entendu). Pour plus d'informations, consultez la documentation du driver JDBC dans le guide du programmeur.
o --enable-syslog : Permet au serveur PostgreSQL d'utiliser l'utilitaire de connexion  syslog. (Cette option ne signifie pas que vous devez vous connecter avec syslog ni mme que ce sera le cas par dfaut ; cela rend seulement possible l'activation de cette option au moment de l'excution.)
o --enable-debug : Compile tous les programmes et librairies sans symboles de dbogage. Cela signifie que vous pouvez excuter les programmes dans un dbogueur pour analyser les problmes. Cela augmente considrablement la taille des excutables installs. Sur des compilateurs non-gcc, cette option dsactive l'optimisation, ce qui occasionne des ralentissements. Cependant, la disponibilit de ces symboles est extrmement utile pour traiter les problmes qui peuvent se produire. Cette option est considre comme marginale pour les installations de production, mais vous devez l'activer si vous dveloppez ou si vous excutez une version bta.
o --enable-cassert : Permet les contrles d'assertion dans le serveur, qui teste de nombreuses conditions "ne peut pas arriver". Cette option est prcieuse pour le dveloppement du code, mais ces tests ralentissent un peu les choses. L'activation des tests n'amliorera pas forcment la stabilit de votre serveur ! Les tests d'assertion ne sont pas catgoriss par degr de svrit, ainsi un petit bug relativement inoffensif conduira  un redmarrage s'il dclenche une dfaillance d'assertion. Il n'est pas recommand d'utiliser cette option en fonctionnement normal, mais vous devrez y faire appel lorsque vous dveloppez ou lorsque vous excutez une version bta. Si vous prfrez un compilateur diffrent de celui que configure adopte, vous pouvez alors assigner les variables d'environnement CC et CXX, respectivement, au programme de votre choix. De mme, vous pouvez neutraliser les indicateurs par dfaut du compilateur avec les variables CFLAGS et CXXFLAGS.
Exemple : env CC=/opt/bin/gcc CFLAGS='-02 -pipe' ./configure
Construire
Pour commencer la construction, tapez gmake. (Souvenez-vous, vous devez utiliser GNU make.) Le processus peut durer entre cinq minutes et une demi-heure. La dernire ligne affiche doit tre All of PostgreSQL is successfully made. Ready to install. 
Tests de rgression
A ce stade, si vous voulez tester le nouveau serveur avant de l'installer, vous pouvez excuter les tests de rgression. Il s'agit d'une suite de tests pour vrifier que PostgreSQL fonctionne sur votre machine de la manire dont les dveloppeurs l'ont prvu. Tapez gmake check. Il est possible que certains tests chouent, en particulier  cause de diffrences dans les rsultats en virgule flottante. Le fichier src/test/regress/README et le guide de l'administrateur contiennent des informations dtailles sur l'interprtation des rsultats des tests. Vous pouvez recommencer le test plus tard en excutant la mme commande.
Installer les fichiers
Note
Si vous mettez  jour un systme existant et envisagez d'installer les nouveaux fichiers par-dessus les anciens, vous devez maintenant sauvegarder vos donnes et arrter l'ancien serveur, comme expliqu prcdemment dans la section "Si vous mettez  jour". 
Pour installer PostgreSQL, tapez gmake install. Cette commande installera les fichiers dans les rpertoires spcifis lors de l'tape 1. Assurez-vous de disposer des permissions appropries pour crire dans ces rpertoires. Normalement, vous devez tre connect en tant que root. Alternativement, vous pouvez crer les rpertoires cibles en avance et vous arranger pour que les permissions appropries soient accordes.
Si vous construisez les interfaces Perl ou Python et que vous n'tiez pas l'utilisateur root quand vous avez excut la commande prcdente, cette partie de l'installation a probablement chou. Dans ce cas, vous devez devenir utilisateur root puis taper : 
gmake -C src/interfaces/perl5 install
gmake -C src/interfaces/python install
A cause d'une bizarrerie dans l'environnement de construction Perl, la premire commande reconstruira l'interface complte puis l'installera. Cela ne fait pas de mal, mais c'est inhabituel. Si vous ne disposez pas d'accs superutilisateur, vous tes livr  vous-mme : vous pouvez toujours prendre les fichiers requis et les placer dans d'autres rpertoires o Perl ou Python peuvent les trouver, mais vous devez savoir comment faire.
L'installation standard n'installe que les fichiers d'en-tte ncessaires au dveloppement de l'application client. Si vous avez l'intention de dvelopper des programmes ct serveur (par exemple des fonctions personnalises ou des types de donnes crits en C), vous voudrez probablement installer l'arbre include de PostgreSQL complet dans votre rpertoire include cible. Pour cela, tapez gmake install-all-headers. Cette opration ajoute un ou deux mgaoctets  l'installation, et elle n'est utile que si vous n'avez pas l'intention de conserver l'arbre source complet  titre de rfrence. (Si vous le faites, vous pouvez seulement utiliser le rpertoire include de la source lorsque vous crez des lments logiciels ct serveur.)
Installation client seulement : Si vous ne voulez installer que les applications client et les librairies d'interface, vous pouvez utiliser ces commandes :
gmake -C src/bin install
gmake -C src/interfaces install
gmake -C doc install
Pour annuler l'installation, utilisez la commande gmake uninstall. Cependant, cette commande ne supprimera ni les interfaces Perl et Python, ni les rpertoires.
Aprs l'installation, vous pouvez faire de la place en supprimant les fichiers de l'arbre source avec la commande gmake clean. Les choix effectus par le programme configure seront prservs, vous pourrez donc tout reconstruire ultrieurement avec gmake. Pour ramener l'arbre source  l'tat qu'il avait initialement dans la distribution, utilisez la commande gmake distclean. Si vous avez l'intention de construire pour plusieurs plate-formes  partir du mme arbre source, vous devrez reconfigurer pour chaque plate-forme.
Paramtrage post-installation
Cette section est divise en sous-sections.
Librairies partages
Sur certains systmes qui disposent de librairies partages (ce qui est le cas de la majorit des systmes), vous devez dire  votre systme comment trouver les librairies partages nouvellement installes. Les systmes sur lesquels cela n'est pas ncessaire incluent FreeBSD, HP/UX, Irix, Linux, NetBSD, OpenBSD, OSF/1 (Digital Unix, Tru64 UNIX) et Solaris.
La mthode pour spcifier le chemin de recherche des librairies partages varie selon les plate-formes, mais la mthode la plus rpandue est de spcifier la variable d'environnement LD_LIBRARY_PATH. Dans les shells Bourne (sh, ksh, bash, zsh) :
LD_LIBRARY_PATH=/usr/local/pgsql/lib
export LD_LIBRARY_PATH
ou en csh ou tcsh :
setenv LD_LIBRARY_PATH /usr/local/pgsql/lib
Remplacez /usr/local/pgsql/lib par ce que vous avez choisi pour --libdir au cours de l'tape 1. Vous devriez mettre ces commandes dans un fichier de dmarrage du shell tel que /etc/profile ou ~/.bash_profile. Vous trouverez des bonnes informations sur les avertissements associs  la mthode sur le site www.visi.com/~barr/ldpath.html.
Sur certains systmes, il peut tre prfrable de dfinir la variable d'environnement LD_RUN_PATH avant de construire. En cas de doute, consultez les pages man de votre systme (peut-tre ld.so ou rld). Si vous obtenez plus tard un message comme psql: error in loading shared libraries libpq.so.2.1: cannot open shared object file: No such file or directory, c'est que cette tape tait ncessaire. Faites y attention.
Variables d'environnement
Si vous installez dans /usr/local/pgsql ou dans un autre emplacement que par dfaut les programmes ne recherchent pas, vous devez ajouter /usr/local/pgsql/bin (ou ce que vous avez choisi pour --bindir au cours de l'tape 1) dans votre PATH. Pour cela, ajoutez quelque chose comme ceci  votre fichier de dmarrage de shell : ~/.bash_profile (ou /etc/profile, si vous voulez affecter tous les utilisateurs) : PATH=$PATH:/usr/local/pgsql/bin
Si vous utilisez csh ou tcsh, utilisez alors cette commande :
set path = ( /usr/local/pgsql/bin path )
Pour permettre  votre systme de trouver la documentation man, vous devez ajouter une ligne comme la suivante au fichier de dmarrage du shell :
MANPATH=$MANPATH:/usr/local/pgsql/man
Les variables d'environnement PGHOST et PGPORT spcifient aux applications client l'hte et le port du serveur de base de donnes, qui remplacent les valeurs par dfaut. Si vous avez l'intention d'excuter  distance les applications client, il est prfrable que chaque utilisateur qui utilisera la base de donnes dfinisse PGHOST, mais ce n'est pas obligatoire et les paramtres peuvent tre communiqus  la plupart des programmes client via des options de ligne de commande.
Dmarrer
Voici un bref rsum de la mthode de prparation de PostgreSQL une fois install. Le guide de l'administrateur contient plus d'informations :
* Crez un compte utilisateur pour le serveur PostgreSQL. Pour une utilisation en production, vous devriez crer un compte spar et sans privilges (en gnral, "postgres" est utilis). Si vous n'avez pas d'accs root votre propre compte utilisateur suffit. Attention, l'utilisation du serveur en tant que root est un risque pour la scurit, elle n'est donc pas possible.
adduser postgres
* Crez une installation de base de donnes avec la commande initdb. Pour excuter initdb, vous devez tre connect dans votre compte serveur PostgreSQL. L'excution de cette commande par l'utilisateur root n'est pas possible.
root# mkdir /usr/local/pgsql/data
root# chown postgres /usr/local/pgsql/data
root# su - postgres
postgres$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
L'option -D spcifie l'emplacement o les donnes seront stockes. Vous pouvez utiliser le chemin que vous voulez, le rpertoire d'installation n'est pas une obligation. Assurez-vous seulement que le compte du serveur peut crire dans ce rpertoire (ou crez le s'il n'existe pas dj) avant de lancer initdb, comme illustr ici.
* L'tape prcdente devrait vous avoir dit comment dmarrer le serveur de base de donnes. Faites le maintenant. La commande doit rassembler  celle-ci :
/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
Le serveur dmarre au premier plan. Pour le mettre en arrire-plan, utilisez une commande telle que celle-ci :
nohup /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data \
</dev/null >>serveur.log 2>&1 </dev/null &
Pour arrter un serveur tournant en arrire-plan, vous pouvez taper :
kill `cat /usr/local/pgsql/data/postmaster.pid`
Pour permettre les connexions TCP/IP (plutt que les sockets du domaine Unix seulement) vous devez passer l'option -i  postmaster.
* Crez une base de donnes :
Tapez createdb testdb. Tapez ensuite psql testdb pour connecter  la base de donnes. A l'invite, vous pouvez entrer des commandes SQL et commencer  exprimenter.
Et maintenant ?
o Si vous ne connaissez pas les bases de donnes SQL, vous devriez commencer par lire le tutorial. Il devrait avoir t install  l'adresse /usr/local/pgsql/doc/html/tutorial.html sauf si vous avez chang les rpertoires d'installation.
o Si vous tes habitu aux concepts de base de donnes, vous voudrez continuer avec le guide de l'administrateur, qui contient des informations sur le paramtrage du serveur de base de donnes, des utilisateurs de base de donnes et sur l'authentification. Vous le trouverez  l'adresse /usr/local/pgsql/doc/html/admin.html.
o Habituellement, vous voudrez modifier votre ordinateur pour qu'il lance automatiquement le serveur de base de donnes lors du dmarrage. Vous trouverez certaines suggestions  ce sujet dans le guide de l'administrateur.
o Excutez les tests de rgression sur le serveur install (en utilisant la mthode de test squentielle). Si vous n'avez pas excut les tests de rgression avant l'installation, vous devriez vraiment le faire maintenant. Cela est galement expliqu dans le guide de l'administrateur.
Plate-formes supportes
La communaut des dveloppeurs a vrifi que PostgreSQL tourne sur les plate-formes listes ci-dessous. Le terme plate-forme supporte signifie gnralement que PostgreSQL a pu tre install conformment  ces instructions et que les tests de rgression ont t excuts avec succs. 
Note
Si vous rencontrez des problmes d'installation sur une plate-forme supporte, crivez  pgsql-bugs@postgresql.org ou  pgsql-ports@postgresql.org et non aux personnes mentionnes ici.
OS
Processeur
Version
Rapporteur
Remarques
AIX
4.3.3RS6000
7.1
2001-03-21, Gilles Darold (<gilles@darold.net>)
voir aussi doc/FAQ_AIX
BeOS
x86
7.1
2001-02-26, Cyril Velter (<cyril.velter@libertysurf.fr>)
requiert une nouvelle pile rseau 5.0.4BONE
BSD/OS 4.01
x86
7.1
2001-03-20, Bruce Momjian (<pgman@candle.pha.pa.us>)

Compaq Tru64
Alpha
7.1
2001-03-26, Adriaan Joubert (<a.joubert@albourne.com>)
4.0-5.0, cc et gcc
UNIX FreeBSD 4.3
x86
7.1
2001-03-19, Vince Vielhaber (<vev@hub.org>)

HP/UX
PA-RISC
7.1
2001-03-19, 10.20 Tom Lane (<tgl@sss.pgh.pa.us>), 2001-03-22, 11.00, 11i Giles Lean (<giles@nemeton.com.au>)
32- et 64-bit sur 11.00; voir aussi doc/FAQ_HPUX
IRIX 6.5.11
MIPS
7.1
2001-03-22, Robert Bruccoleri  (<bruc@acm.org>)
modle de compilation 32-bit 
Linux 2.2.x
Alpha
7.1
2001-01-23, Ryan Kirkpatrick (<pgsql@rkirkpat.net>)

Linux 2.2.x
armv4l
7.1
2001-02-22, Mark Knox (<segfault@hardline.org>)

Linux 2.0.x
MIPS
7.1
2001-03-30, Dominic Eidson (<sauron@the-infinite.org>)
Cobalt Qube
Linux2.2.18
PPC74xx
7.1
2001-03-19, Tom Lane  (<tgl@sss.pgh.pa.us>)
Apple G3
Linux
S/390
7.1
2000-11-17, Neale Ferguson (<Neale.Ferguson@softwareAG-usa.com>)

Linux 2.2.15
Sparc
7.1
2001-01-30, Ryan Kirkpatrick (<pgsql@rkirkpat.net>)

Linux
x86
7.1
2001-03-19, Thomas Lockhart (<thomas@fourpalms.org>)
2.0.x, 2.2.x, 2.4.2
MacOS X
PPC
7.1
2000-12-11, Peter Bierman (<bierman@apple.com>), 2000-12-11, Daniel Luke (<dluke@geeklair.net>)
Darwin (seulement) Beta-2 ou plus rcente
NetBSD 1.5
Alpha
7.1
2001-03-22, Giles Lean (<giles@nemeton.com.au>)

NetBSD 1.5E
arm32
7.1
2001-03-21, Patrick Welche (<prlw1@cam.ac.uk>)

NetBSD
m68k
7.0
2000-04-10, Henry B. Hotz (<hotz@jpl.nasa.gov>)
Mac 8xx
NetBSD
PPC
7.1
2001-04-05, Henry B. Hotz (<hotz@jpl.nasa.gov>)
Mac G4
NetBSD
Sparc
7.1
2000-04-05, Matthew Green (<mrg@eterna.com.au>)
builds 32- et 64-bit 
NetBSD 1.5
VAX
7.1
2001-03-30, Tom I. Helbekkmo (<tih@kpnQwest.no>)

NetBSD 1.5
x86
7.1
2001-03-23, Giles Lean (<giles@nemeton.com.au>)

OpenBSD 2.8
Sparc
7.1
2001-03-23, Brandon Palmer (<bpalmer@crimelabs.net>)

OpenBSD 2.8
x86
7.1
2001-03-21, Brandon Palmer (<bpalmer@crimelabs.net>)

SCO UnixWare 7.1.1
x86
7.1
2001-03-19, Larry Rosenman (<ler@lerctr.org>)
compilateur UDK FS ; voir aussi doc/FAQ_SCO
Solaris 2.7-8
Sparc
7.1
2001-03-22, Marc Fournier (<scrappy@hub.org>), 2001-03-25, Justin Clift (<justin@postgresql.org>)
voir aussi doc/FAQ_Solaris
Solaris 2.8
x86
7.1
2001-03-27, Mathijs Brands (<mathijs@ilse.nl>)
voir aussi doc/FAQ_Solaris
SunOS 4.1.4
Sparc
7.1
2001-03-23, Tatsuo Ishii (<t-ishii@sra.co.jp>)

Windows NT/2000 with Cygwin
x86
7.1
2001-03-16, Jason Tishler (<Jason.Tishler@dothill.com>)
avec le jeu d'outils Cygwin voir doc/FAQ_MSWIN
2.568,2.297,1.788,3.313,2.5
Plate-formes non supportes
Le fonctionnement n'a pas t vrifi sur les plate-formes suivantes. Les plate-formes listes pour les versions 6.3.x et suivantes devraient aussi convenir pour la version 7.1, mais nous n'avons pas encore reu de confirmation explicite au moment de la compilation de cette liste. Nous les incluons ici pour vous permettre de savoir que ces plate-formes pourraient tre supportes sous rserve de mener des essais.
OS
Processeur
Version
Rapporteur
Remarques
DGUX 5.4R4.11
m88k
6.3
1998-03-01, Brian E Gallew (<geek+@cmu.edu>)
6.4 probablement OK
MkLinux DR1
PPC750
7.0
2001-04-03, Tatsuo Ishii (<t-ishii@sra.co.jp>)
7.1 ncessite une mise  jour de l'OS ?
NextStep
x86
6.x
1998-03-01, David Wetzel (<dave@turbocat.de>)
bit rot suspect
QNX 4.25
x86
7.0
2000-04-01, Dr. Andreas Kardos (<kardos@repas-aeg.de>)
Voir aussi doc/FAQ_QNX4.
SCO Openserveur 5
x86
6.5
1999-05-25, Andrew Merrill (<andrew@compclass.com>)
7.1 devrait fonctionner, mais aucun rapport reu ; voir aussi doc/FAQ_SCO
Systme V R4
m88k
6.2.1
1998-03-01, Doug Winterburn (<dlw@seavme.xroads.com>)
Ncessite un nouveau code TAS spinlock
Systme V R4
MIPS
6.4
1998-10-28, Frank Ridderbusch (<ridderbusch.pad@sni.de>)
Pas d'entier 64-bit 
Ultrix
MIPS
7.1
2001-03-26
code spinlock TAS non dtect
Ultrix
VAX
6.x
1998-03-01
Aucun rapport rcent. Obsolte ?
Windows 9x, ME, NT, 2000 (native)
x86
7.1
2001-03-26, Magnus Hagander (<mha@sollentuna.net>)
librairies ct client (libpq et psql) ou ODBC/JDBC, pas de ct serveur ; voir les instructions dans le guide de l'administrateur
2.568,2.297,1.788,3.313,2.5
Page 1

